# 资源限制
# 时间限制：1.0s   内存限制：512.0MB
# 问题描述
# 　　123321是一个非常特殊的数，它从左边读和从右边读是一样的。
# 　　输入一个正整数n， 编程求所有这样的五位和六位十进制数，满足各位数字之和等于n 。
# 输入格式
# 　　输入一行，包含一个正整数n。
# 输出格式
# 　　按从小到大的顺序输出满足条件的整数，每个整数占一行。
# 样例输入
# 52
# 样例输出
# 899998
# 989989
# 998899
# 数据规模和约定
# 　　1<=n<=54。

def is_palindrome_number(num):
    return str(num) == str(num)[::-1]


def sum_equal(n, num):
    sum = 0
    for i in range(len(num)):
        sum += int(num[i])
    return n == sum


if __name__ == '__main__':
    n = int(input())
    for i in range(10000, 1000000):
        if is_palindrome_number(i) and sum_equal(n, str(i)):
            print(i)
